"""
随堂练习：
完成一个对话小程序，客户端可以发送问题给服务端，
服务端接收到问题将对应答案给客户端，客户端打印出来
要求可以同时多个客户端提问，如果问题没有指定答案，
则回答 “人家还小，不知道。”

注意： 不需要使用数据库文件存储应答内容，
在服务端用字典表示关键字和答案之间的对应关系即可
{"key":"value"}
key: 几岁
value ： 我2岁啦
"""
from socket import *

dict = {
    "几岁": "我2岁啦",
    "你叫什么名字":"我叫笑脸",
    "你都会什么":"我会对话"
}
ADDR=("0.0.0.0",8888)

def find_answer(data):
    # ans = dict[data]
    # if ans: 
    #     return ans
    # else:
    #     return "人家还小，不知道啦。"
    for k,v in dict.items():
        if k in data:
            return v
    return "人家还小，不知道啦。"

def main():
    sock = socket()
    sock.bind(ADDR)
    sock.listen(5)
    while True:
        print("服务已启动......")
        conn,addr = sock.accept()
        # 循环收发
        while True:
            data = conn.recv(1024)
            if not data:
                break
            ans = find_answer(data.decode())
            print(ans)
            conn.send(ans.encode())
        conn.close()
    sock.close()

if __name__ == '__main__':
    main()

